package com.tools.pojo.data;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.Date;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class FsiDiagnoseDTO {

    /**
     * 诊断ID
     */
    @JsonProperty("dise_id")
    private String diseId;

    /**
     * 诊疗ID
     */
    @JsonProperty("mdtrt_id")
    private String mdtrtId;

    /**
     * 出入院诊断类型 (1:入院诊断, 2:出院诊断)
     */
    @JsonProperty("inout_dise_type")
    private String inoutDiseType;

    /**
     * 主要诊断标志 (1:主要诊断, 0:次要诊断)
     */
    @JsonProperty("maindise_flag")
    private String maindiseFlag;

    /**
     * 诊断排序号
     */
    @JsonProperty("dias_srt_no")
    private String diasSrtNo;

    /**
     * 诊断编码
     */
    @JsonProperty("dise_codg")
    private String diseCodg;

    /**
     * 诊断名称
     */
    @JsonProperty("dise_name")
    private String diseName;

    /**
     * 诊断日期
     */
    @JsonProperty("dise_date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date diseDate;

    /**
     * 诊断系统
     */
    @JsonProperty("dise_sys")
    private String diseSys;

    /**
     * 任务ID
     */
    @JsonProperty("task_id")
    private String taskId;

    // 计算属性
    /**
     * 是否为主要诊断
     */
    public boolean isMainDiagnosis() {
        return "1".equals(maindiseFlag);
    }

    /**
     * 是否为入院诊断
     */
    public boolean isAdmissionDiagnosis() {
        return "1".equals(inoutDiseType);
    }

    /**
     * 是否为出院诊断
     */
    public boolean isDischargeDiagnosis() {
        return "2".equals(inoutDiseType);
    }
}